home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 019a / tde10.zip / READ.ME next >
Text File  |  1991-06-05  |  7KB  |  153 lines

  1. You should be able to use tde without reading this file.  It works like most
  2. other editors - nothing special about editing a file.  Press F1 while in tde
  3. and it will give you a help screen with key definitions.  This file contains a
  4. little history about tde and some additional info that you probably don't
  5. need or care to know.
  6.  
  7.  
  8. Author:
  9.  
  10.                program name:    tde, the Thomson-Davis Editor
  11.  
  12.                author:          Frank Davis
  13.                                 fmd@tifton.bitnet
  14.  
  15.                home address:    102 Starr Street
  16.                                 Tifton, Georgia  31794
  17.                                 USA
  18.  
  19.                work address:    U.S Dept. of Agriculture
  20.                                 P.O. Box 946
  21.                                 Tifton, Georgia  31793
  22.                                 USA
  23.  
  24.  
  25.      based on an editor by:     Douglas Thomson
  26.                                 c/- Computing
  27.                                 M.U.C.G.
  28.                                 Switchback Road
  29.                                 Churchill
  30.                                 Victoria   3842
  31.                                 AUSTRALIA
  32.                                 doug@giaea.oz
  33.  
  34.  
  35. Background:
  36.  
  37. At work, I have written several editors that may only be used for a certain
  38. type of file (almost an expert system).  I have always wanted to write a
  39. general purpose public domain text editor.  It seems none of the existing
  40. public domain or shareware editors have all of the features I like.  My wish
  41. list of features are:
  42.  
  43.    Blocks:
  44.       Line and column blocks.
  45.       Move, delete, copy, kopy, overlay, and fill block options.
  46.       Block actions within or between files.
  47.  
  48.    Files:
  49.       Multiple files limited only by memory.
  50.  
  51.    Windows:
  52.       Multiple windows limited only by memory.
  53.       Split screen horizontally (don't use vertical screens very often).
  54.       Changes to text in one window are updated in all windows of same file.
  55.       Interactively resize windows.
  56.       Two windows of same size so two files can be compared easily.
  57.  
  58.    Search/Replace:
  59.       Ignore or Match case of pattern.
  60.       Prompt or no prompt replace.
  61.       Boyer-Moore pattern matching algorithm.
  62.  
  63.    Other:
  64.       Split/join line.
  65.       Lines as long a 255 characters.
  66.       Paren balance.
  67.       Support for functions keys.
  68.       Mode/information line.
  69.  
  70. Well, I found a public domain editor that had most of the features on my wish
  71. list.  The orginal code was extremely well documented.  That editor was
  72. dte 5.1, written by Douglas Thomson, Gippsland, Victoria, Australia.  So
  73. instead of writing an editor from scratch, I based my editor around Doug's
  74. well designed and documented program.   My editor was written using dte 5.1
  75. as an outline.  Doug, thanks a lot for releasing the source code for your
  76. editor.
  77.  
  78. dte 5.1 is pretty much machine independent.  It runs on PC's, HP 3000's, and
  79. generic Unix system V release 2 systems.  It was designed to work well over
  80. slow communication lines, eg 1200 baud.  Screen updates are kept to a minimum
  81. which saves time and money when using dial-up phone lines.  dte 5.1 uses the
  82. WordStar/Turbo x style key definitions.  If you need an editor for use over
  83. slow communication terminals, check out Doug's editor.
  84.  
  85. My dream editor was to be written specifically for PC's.  At work, we have
  86. an IBM mainframe.  The only reason I use the mainframe is for e-mail and for
  87. backup of my PC files (I have exagerated a little).  I use my PC editors to
  88. compose my mail then upload to the mainframe to send it.  So, I really don't
  89. need or desire a machine independent editor.  Although I have IBM OS/2 1.0 on
  90. my machine at work, I don't use OS/2 enough to justify writing a bound version.
  91. (To make a program run under both IBM/MS DOS and OS/2, you have to bind it.)
  92.  
  93. Another of my design considerations was the machine-compiler-memory model
  94. factor.  At work I use a 16 Mhz 386 machine with Microsoft C 6.0a and at
  95. home I use a 8 Mhz 286 machine with Microsoft QuickC 2.5 w/ QuickAssembler.
  96. I wanted the editor to work fast on the slow machine; so, I wrote some of the
  97. often used string functions in assembly.  To edit files larger than 64k, you
  98. just about have to use the huge memory model.  However, QuickC cannot debug
  99. programs compiled with the huge option.  Additionaly, programs compiled using
  100. the huge model run a lot slower because of all the compiler generated pointer
  101. arithmetic.  I wrote some functions in assembly that allow my editor to be
  102. compiled with either the compact or large memory model.  Now, I can run and
  103. debug the program at work or at home.  All of those assembly routines that
  104. support huge pointer arithmetic are original.  If you're into assembly, check
  105. out the tdeasm.c module for some good assembly tips on manually manipulating
  106. far pointers.
  107.  
  108. I also wanted the ability to edit the files produced by our water quality model.
  109. Null characters, or '\0', are allowed as part of the normal text in those files.
  110. Since DOS uses ^Z to mark the end of files, I decided to use ^Z to mark the end
  111. of strings.  Any character, except ^Z, is allowed in the text file.  Conse-
  112. quently, the standard C string library functions will not work when doing
  113. operations on text in the file.  The assembly language routines in tdeasm.c
  114. take care of the ^Z terminated strings.
  115.  
  116. I modified almost all of the algorithms in the original dte 5.1 editor and added
  117. several more.  The block and find/replace algorithms are completely rewritten.
  118. Block operations use either line or column blocks instead of stream blocks.
  119. The "brute force" text find algorithm was replaced by the Boyer-Moore pattern
  120. matching algorithm.  The text display algorithms are completely rewritten.
  121. The window operations were enhanced and streamlined.  Support for lines as long
  122. as 255 characters was added.  Horizontal scrolling is allowed.
  123.  
  124.  
  125. Bug reports:
  126.  
  127. There are no bugs in tde, only features that may inconvenience you. ;*)
  128. Please send inconvenience reports via e-mail, if at all possible, to
  129. fmd@tifton.bitnet.  I'll try to respond as quickly as possible to reports
  130. received via e-mail.
  131.  
  132.  
  133. Things to add in the next version:
  134.  
  135. 1.  Speed up block operations.  Some block operations can be rather slow.
  136. 2.  Speed up writing file back to disk.
  137. 3.  Although the speed of the find algorithm is acceptable, some of the routines
  138.     may be rewritten in assembly to make the find function lightning fast.
  139. 4.  May add support routines to allow any character, including ^Z, in the file.
  140. 5.  Limited support for an undo function.
  141. 6.  Support for ^Up and ^Down for scrolling up and down instead of ^W and ^X.
  142.  
  143.  
  144. About the author of tde, Frank Davis:
  145.  
  146. Frank "yank" Davis, who has an impressive collection of inflatable bed bunnies,
  147. received a BS in Information and Computer Science from Georgia Tech in 1983.  He
  148. can be found drinking massive quantities of beer in his underwear (boxer shorts)
  149. on his couch while watching college football and Atlanta Braves baseball on his
  150. 19 inch color TV.   Hobbies include:  picking his nose, trying out pick-up lines
  151. on babes like "Hey baby, I've got more meat in my pants than most grocery stores
  152. have in their meat department", and not breaking for Dawgs.
  153.